home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / presto / prest_04.lha / src / sequent / bit_asm.h < prev    next >
Encoding:
Text File  |  1989-06-06  |  837 b   |  43 lines

  1. asm void ATOMIC_ORL(addr, flag)
  2. {
  3. %reg addr; con flag;
  4.     lock    orl    flag, (addr)
  5. %reg addr; reg flag;
  6.     lock    orl    flag, (addr)
  7. %reg addr; mem flag;
  8.         movl    flag, %edx
  9.     lock    orl    %edx, (addr)
  10. %mem addr; con flag;
  11.     movl        addr, %ecx
  12.     lock    orl    flag, (%ecx)
  13. %mem addr; reg flag;
  14.     movl        addr, %ecx
  15.     lock    orl    flag, (%ecx)
  16. %mem addr; mem flag;
  17.         movl    addr, %ecx
  18.         movl    flag, %edx
  19.     lock    orl    %edx, (%ecx)
  20. }
  21.  
  22. asm void ATOMIC_ANDL(addr, flag)
  23. {
  24. %reg addr; con flag;
  25.     lock    andl    flag, (addr)
  26. %reg addr; reg flag;
  27.     lock    andl    flag, (addr)
  28. %reg addr; mem flag;
  29.         movl    flag, %edx
  30.     lock    andl    %edx, (addr)
  31. %mem addr; con flag;
  32.     movl        addr, %ecx
  33.     lock    andl    flag, (%ecx)
  34. %mem addr; reg flag;
  35.     movl        addr, %ecx
  36.     lock    andl    flag, (%ecx)
  37. %mem addr; mem flag;
  38.         movl    addr, %ecx
  39.         movl    flag, %edx
  40.     lock    andl    %edx, (%ecx)
  41. }
  42.  
  43.